package com.tnl.base;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.template.Engine;
import com.jfinal.weixin.sdk.api.ApiConfig;
import com.jfinal.weixin.sdk.api.ApiConfigKit;
import com.jfinal.wxaapp.WxaConfig;

public class Config extends JFinalConfig {

	private boolean isLocal = isDevMode();

	/**
	 * 如果要支持多公众账号，只需要在此返回各个公众号对应的 ApiConfig 对象即可 可以通过在请求 url 中挂参数来动态从数据库中获取
	 * ApiConfig 属性值
	 */
	public ApiConfig getApiConfig() {
		ApiConfig ac = new ApiConfig();

		// 配置微信 API 相关常量
		ac.setToken(Const.TOKEN);
		ac.setAppId(Const.APPID_HUNTER);
		ac.setAppSecret(Const.APPSECRET_HUNTER);

		/**
		 * 是否对消息进行加密，对应于微信平台的消息加解密方式： 1：true进行加密且必须配置 encodingAesKey
		 * 2：false采用明文模式，同时也支持混合模式
		 */
		ac.setEncryptMessage(false);
		ac.setEncodingAesKey(Const.EncodingAESKey_HUNTER);
		return ac;
	}
	 /**
	   * 获取token
	   * @param token
	   * @param jsonStr
	   * @return
	   */
	/*   public static ApiResult send(String jsonStr) {
		   	WxaAccessToken accessToken=WxaAccessTokenApi.refreshAccessToken(getApiConfigHunter());
			String token=accessToken.getAccessToken();
	        String jsonResult = HttpUtils.post(Const.sendApiUrl + token, jsonStr);
	        return new ApiResult(jsonResult);
	   }*/
	   /**
	    * 针对会列推送
	    * @return
	    */
	   public static WxaConfig getApiConfigHunter() {
			WxaConfig ac = new WxaConfig();

			// 配置微信 API 相关常量
			ac.setToken(Const.TOKEN);
			ac.setAppId(Const.APPID_TIAONALI);
			ac.setAppSecret(Const.APPSECRET_TIAONALI);
			ac.setEncodingAesKey(Const.EncodingAESKey_TIAONALI);
			return ac;
		}
	/**
	 * 配置常量
	 */
	@Override
	public void configConstant(Constants me) {
	}

	/**
	 * 配置处理器
	 */

	@Override
	public void configHandler(Handlers me) {
	}
	
	@Override
	public void configInterceptor(Interceptors me) {
		// TODO Auto-generated method stub
		
	} 

	/**
	 * 配置插件
	 */
	@Override
	public void configPlugin(Plugins me) {
		
	}

	/**
	 * 设置路由
	 */
	@Override
	public void configRoute(Routes me) {
	}

	/**
	 * 初始化常量
	 */
	public void afterJFinalStart() {
		ApiConfigKit.putApiConfig(getApiConfig());
		//ApiConfigKit.putApiConfig(getApiConfigHunter());
	}

	/**
	 * @Description : 判断是否是开发环境
	 * @author : maxiaojuan
	 * @date : 2015年7月22日下午6:30:09
	 */
	private boolean isDevMode() {
		return System.getProperty("os.name").indexOf("Windows") != -1;
	}
	@Override
	public void configEngine(Engine me) {
		// TODO Auto-generated method stub
		
	}



}
